System()は、実行したいコマンドを引数で渡せばそのまま実行してくれます。厳密には、shというシェルに渡して実行してもらいます。
#include < stdio.h >
#include < string.h >
void main()
{
char filename[80],str[512],*ptr;
FILE *fp;
sprintf(filename,"/tmp/ls%d.tmp",getpid());
sprintf(str,"ls -1 > %s",filename);
system(str);
if((fp=fopen(filename,"r"))==NULL){
fprintf(stderr,"error!!!\n");
exit(-1);
}
while(1){
fgets(str,512,fp);
if(feof(fp)){
break;
}
ptr=strchr(str,'\n');
if(ptr!=NULL){
*ptr='\0';
}
printf("%s\n",str);
}
fclose(fp);
sprintf(str,"rm -f %s",filename);
system(str);
}