Te refieres a char* MultiCad(int max, ...) quitarle el int max???
Eso lo puede hacer pero deberias tu poner un metodo de cuando se terminan los argumentos...porque si lees de mas vas a empezar a leer basura....
Una recomendacion seria que el ultimo argumento que le pasas va a ser NULL, aprovechando que estamos en cadenas de caracteres....
Entonces la invocacion de la funcion seria:
funcion1 ("Hola" , " " , "mundo" , NULL);
Para porcesar los argumentos simplementes haces: