codice:
#include <stdio.h>

int main(){
    char comando[256];
    int pid,status;
    while(1){
         printf("Digitare un comando: ");
         scanf("%s",comando);
         pid = fork();
         if(pid==-1){
            printf("Errore nella fork");
            exit(1);
         }
         if(pid==0){ execlp(comando,comando,0);
         else wait(&status);
         }
}
questa è una tipica shell di comandi unix
se alla printf passi "ls"
ti lista le directory
adattala a windows e guarda un po te se ti può essere utile