Non ho capito quasi nulla di quello che hai scritto ...

Comunque io parlavo di argv e non di argc.

argv e' il vettore di puntatori a stringhe (che sono le stringhe che passi al tuo programma sulla linea di avvio, escluso l'elemento argv[0] che e' il nome e il percorso dello stesso eseguibile ...);

argc, invece, e' un numero e rappresenta il numero di argomenti presenti nella linea di comando quando il programma e' stato avviato (ovvero, ti indica l'indice massimo da utilizzare nel vettore argv)