Bon il linguaggio L3 non dovrebe essere troppo difficille. Ma io no lo so usare bene, quindi preferirei usare gli argomenti delimitati e una solo argomento per \modo per esempio scrivi `$\modo{a;b;c}$` e una macro ausiliaria esamina la lista con gli argomenti veri separati dai punti e virgola. con gli argomenti veri costruisce la lista vera da dare in pasto a \mod )perché ovviamente non può ridefinire un macro che chiama se stessa ripetutamente per ottenere quello che vuoi; questa macro ausiliaria esegue poi \mod se e solo se la lista vera NON è vuota.
Non ti do il codice che puoi costruire facilmente con l’articolo sugli argomenti delimitati che ho scritto su ArsTeXnica alcuni anni fa.
Ma in più mi domando a che cosa ti serva una macro siffatta, quando \mcd definito come un normale operatore e con gli argomenti separati da virgole con spazi funziona da solo come si deve; scrivere `\usepackage{amsmath}
\DeclareMathOperator{\mcd}{mcd}
…
\[\mcd{6, 12, 72} = 6\]` fa quel che vuoi senza problemi.