Io proverei una soluzione di questo tipo:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fe;
FILE *fd;
char buf[400];
char *res;
char path[400];
fd=fopen("/home/sergio/magazzino.txt", "r");
if(fd==NULL)
{
printf("errore apertura file");
exit(1);
}
while(1)
{
res=fgets(buf, 400, fd);
if(res==NULL)
break;
buf[strlen(buf)-1]='\0';
sprintf(path,"/home/sergio/%s",buf);
fe=fopen(path,"w");
fclose(fe);
}
fclose(fd);
return 0;
}