And it's fully legit (from the draft C standard, 5.1.2.2.1, ยง 2 "Program startup"):
> The parameters argc and argv and the strings pointed to by the argv array shall be modifiable by the program, and retain their last-stored values between program startup and program termination.
And it's fully legit (from the draft C standard, 5.1.2.2.1, ยง 2 "Program startup"):
> The parameters argc and argv and the strings pointed to by the argv array shall be modifiable by the program, and retain their last-stored values between program startup and program termination.
https://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf [pdf]