La forma de pasar parámetros a main() es declarándolo como
main (int argc, char **argv)
Si una vez compilado tu ejecutable se llama MiPrograma, cuando ejecutes puedes poner cosas como
MiPrograma parametro1 parametro2
Estas dos cadenas son las que pasarán en char **argv. En argc tendrás el número de cadenas que te han pasado.
argc = 3
argv[0]="MiPrograma"
argv[1]="parametro1"
argv[2]="parametro2"
Desde windows todo esto queda un poco oculto. Nadie escribe el nombre de un programa y le pone parámetros, sino que se hace doble click en algún icono y ya está.
Desde línea de comandos (unix o ms-dos) sí hay que escribirlos. Así por ejemplo, "copy fichero1 fichero2", el copy recibe los dos parámetros que se escriben detrás.
Se bueno.