execvp определяется следующим образом:
int execvp(const char *file, char *const argv[]);
Это исключает использование такого кода:
const char* argv[] = {"/bin/my", "command", "here", NULL};
execvp(argv[0], argv);
Было ли это случайным упущением? Это безопасно для const_cast вокруг этого? Или некоторые реализаторы execvp действительно записывают в эту память?