fgets(command, BUFFSIZE, stdin);
command[strlen(command)-1] = '\0';
char *p = strtok(command, " ");
char *command_tok[BUFFSIZE];
int i = 0;
while (p) {
command_tok[i++] = p;
p = strtok(NULL, " ");
}
char *commands[] = {*command_tok, NULL};
execvp(command_tok[0], commands);
Я пытаюсь получить пользовательский ввод, tokenize его и сохранить команду и аргументы в массиве, чтобы передать его execvp(). Однако аргументы никогда не читаются. Если вход «ls -l», он всегда выполняется как «ls».Tokenize пользовательский ввод для execvp() в c