pourquoi l'os fait il une copie des param fournit en ligne de commande à un programme (l' autorisant ainsi à les modifier) alors qu'il est ultra-rare qu'un programme ait besoin de modifier les paramètres qu'on lui fournit. Ce comportement n'est il pas anti-performant ?

ex :
rm readme.txt
del readme.txt
aucun de ces deux binaires n'a la moindre raison de modifier la chaine de caractère "readme.txt".

Il suffirait que les divers langage de prog prennent ces en lecture seule, par exemple en c++, ca donnerait :
int main (const int agrc, const char * argv[])
au lieu de
int main (int agrc, char * argv[])