int main(int argc,char *argv[])
のargvのポイント先の文字をいじることは合法ですか?

int i = 0;
while(argv[0][i]){
argv[0][i] = toupper(argv[0][i]);
i++;
}
とか