rendered paste body#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <sys/wait.h>#define BUFSIZE 1024void parser(char* buf, char** args) ;void execution(char** args) ;int main(int argc, char* argv[]){ char buf[BUFSIZE]; char* args[64]; for(;;) { fflush(stdin); printf("Command:\n"); // if(fgets(buf, sizeof(buf),stdin)==NULL) { printf("\n"); exit(0); } parser(buf,args); execution(args); }}void parser(char* buf, char** args){ while (*buf != '\0') { while((*buf==' ')||(*buf=='\t')||(*buf=='\n')) { *buf++ = '\0'; } *args++=buf; while ((*buf!='\0') && (*buf!=' ') && (*buf!='\t') && (*buf!='\n')) { buf++; } } *--args = NULL; }void execution(char** args){ int pid, status ; if((pid=fork())<0) { perror("fork"); exit(1); } if(pid==0) { execvp(*args,args); perror("*args"); exit(1); } while (wait(&status)!=pid); }