/*
 *   Signal Tester!!!
 */

#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <signal.h>
#include <unistd.h>


void usage (char *p)
{
  printf("signaler by dreyer  v1.0\n");
  printf("Uso: %s \"[signals to deliver]\" usleep archivo arguments\n",p);
  exit(1);
}

int main (int argc, char *argv[])
{
   char **newargs;
   char *sig;
   char signals[200];
   int victim,mysignal,sl;

   newargs=&argv[3];
   if (argc<4) usage(argv[0]);
   strcpy(signals,argv[1]);
   sl=atoi(argv[2]);
   sig=strtok(signals," ");
   printf("Executing %s\n",argv[3]);
   if (!(victim=fork()))
   {
     execvp(argv[3],newargs);
     perror("execvp");
     exit(1);
   }
   while (sig!=NULL)
   {
       //usleep(1);
       mysignal=atoi(sig);
       printf("Delivering signal %d\n",mysignal);
       kill(victim,mysignal);
       sig=strtok(NULL," ");
   }
}

