#include <error.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int
main (int argc, char *argv[])
{
  char *ival;
  int i;
  int fd;

  ival = getenv ("i");
  i = ival ? i = atoi (ival) : 0;
  if (i % 100 == 0)
    fprintf (stderr, "%d\n", i);

  close (fd);

  asprintf (&ival, "%d", ++i);
  setenv ("i", ival, 1);
  execv (argv[0], argv);
  error (1, errno, "exec %s", argv[0]);

  return 0;
}
