На ломанном буржуйском удалось найти правду
quote in command promptsFilename globbing
Wildcards on the command-line are expanded by the command-line interpreter. If you wish to disable this filename globbing, then add
int _CRT_glob = 0;
to the beginning of the main program file.
Хотя я уже извратился. В вызывающей программе молочу "\"*\"" и получаю на входе второй программы \"*\" (точнее тут ещё один прикол - в юнихах "*", а в винде \"*\") после чего через replace душу \" и уже итоговая строчка нормально хавается дальше по коду.
Положить в строку "*" (именно в таком виде, без экранирующих слешей) под виндой не удалось. Зато не закрытую двойными кавычками маску второе приложение без int _CRT_glob = 0 превращает в список файлов текущей директории - специфика gcc.