Здесь я создал свой метод для имитации команды UNIX 'ls' в моей реализации оболочки UNIX в C. 9/10 раз моя оболочка будет работать отлично, а в другой раз я получаю ошибку сегментации: 11 на 'ls'команда.Мне интересно, что вызывает эту ошибку.
void lookInsideCurrentDirectory(char **parsed){
char** argv = malloc(sizeof(char*) * 100);
int counter = 0;
while(parsed[counter] != NULL){
argv[counter] = parsed[counter];
printf("counter: %d argv: %s\n", counter, argv[counter]);
counter++;
}
argv[counter] = NULL;
pid_t pid = fork();
if(pid == -1){
return;
}
else if(pid == 0){
if(execvp(argv[0], argv) == -1){
perror("Error: ");
}
exit(0);
}
else{
printf("child\n");
wait(NULL);
return;
}
}