При запуске следующего кода я получаю сообщение об ошибке: «execvp error: Bad address».Я не уверен, почему это так, но я подозреваю, что cmd [2] должен быть установлен в NULL-указатель.Я не мог понять, как установить нулевой указатель для двумерного массива постоянного размера.: /
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(void) {
char cmd[10][10];
strcpy(cmd[0], "ls");
strcpy(cmd[1], "-1");
int pid = fork();
// child process
if (pid == 0){
execvp(cmd[0], (char *const *) cmd);
perror("execvp error");
// parent process
} else if (pid > 0){
wait(NULL);
// fork failure
} else {
perror("Child creation unsuccessful");
}
return 0;
}
Спасибо заранее!