Cela dépend du système d'exploitation et éventuellement de la langue. Une bonne réponse C-centrique est que le système d'exploitation crée l'espace de processus (y compris le chargement du code, la création du tas et de la pile, etc.). Ensuite, il place le vecteur d'argument de la ligne de commande dans un emplacement, puis copie l'adresse du vecteur d'argument dans 'argv' sur la pile, et le nombre de mots dans 'argc'.
Ce n'est que lorsque ces tâches sont terminées que le système d'exploitation autorise l'exécution du processus.
Notez que les programmes sous Windows reçoivent une chaîne d'argument unique. Il est divisé en 'argv' par le runtime C. – zneak