I'm trying to use a standard C main() program with FTYPE and ASSOC.

The main.c program is:

int main( int argc, char **argv) 

  int i; 

  printf("argc = %d\n", argc); 

  for(i=0; i<argc; i++) 
  printf ("argv[%d] = %s\n", i, argv[i]); 


And I use in a DOS windows:

ASSOC .ma=MainScript 
FTYPE MainScript=main.exe %1 %*

If I call the program in this way:

testma.ma 1 2 3
I only get:

argc = 2 
argv[0] = main.exe 
argv[1] = testma.ma

The command line arguments ("1", "2" and "3") here are not visible in argc/argv.

How do I retrieve these arguments in the C program?

Using exactly the same ASSOC and FTYPE syntax works with other programs, so there is something that I am missing.