Saludos compañeros. Una vez tengo este codigo que es un interprete de comandos, necesito modificarlo para permitir ejecutar cualquier programa que se encuentre en cualquiera de los caminos especificados en la variable de entorno PATH. Me ayudais por favor????Gracias.
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
main()
{
int pid,status;
char cadena[20];
char comando[20];
printf("pedro> ");
gets(cadena);
while(strcmp(cadena,"salir")!=0)
{
switch(pid=fork())
{
case -1:
printf("Error, comando desconocido");
exit (1);
break;
case 0:
strcpy(comando,"./");
strcat(comando,cadena);
execl(comando,cadena,0);
strcpy(comando,"/bin/");
strcat(comando,cadena);
execl(comando,cadena,0);
printf("Error, comando desconocido\n");
exit(1);
break;
default:
wait(&status);
break;
}
printf("pedro> ");
gets(cadena);
}
}