Why not use remove or unlink instead ? system("rm ...")
remove(argv[2]); or unlink(argv[2]);
Refresh in case to system("rm ...")be used
system("rm ..."), ZelluX , , argv[2]. argv[2] snprintf strncpy. , , , argv[2].
stat, , argv[2] , , .
:
stat, , argv[2] asprintf, .
char *p;
struct stat st;
if (stat(argv[2], &st) == 0 && S_ISREG(st->st_mode))
{
if (asprintf(&p, "rm %s", argv[2]) != -1)
{
system(p);
free(p);
}
}