noto solo adesso che mi sono dimenticato di includere il codice come tale,e mi scuso
Ho fatto questa correzione,va bene?

codice:
int runcommand(char **cline, int where){
    pid_t pid;
    int status;

    switch(pid=fork()){
    case -1:
        perror("smallsh");
        return (-1);
    case 0:
       if(where == BACKGROUND)
        {
         signal(SIGINT, SIG_IGN);
         signal(SIGQUIT, SIG_IGN);
        }
        else
        {
        signal(SIGINT, SIG_DFL);
        signal(SIGQUIT,SIG_DFL);
        }
        execvp(*cline,cline);
        perror(*cline);
        exit(1);
    default:
        signal(SIGINT, SIG_IGN);
        signal(SIGQUIT, SIG_DFL);

      }

    if(where == BACKGROUND){
        printf("[Process id %d]\n",pid);
        return (0);
    }

  
    if (waitpid(pid,&status,0) == -1)
        return (-1);
    else
        return (status);
}