execvp se define así:¿Por qué el parámetro argv para execvp no es const?
int execvp(const char *file, char *const argv[]);
que impide código como este sea utilizado:
const char* argv[] = {"/bin/my", "command", "here", NULL};
execvp(argv[0], argv);
¿Era esta una omisión accidental? ¿Es seguro const_cast alrededor de esto? ¿O algunas implementaciones de execvp realmente garabatean en esa memoria?
Aunque la familia de funciones 'exec *' no modifica sus argumentos como se indica en la especificación POSIX, tenga en cuenta que en Windows, ['CreateProcess' requiere una línea de comando escribible] (http://blogs.msdn.com /b/oldnewthing/archive/2009/06/01/9673254.aspx). –