#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <string.h>
#include <assert.h>

size_t global;

int main(int argc, char* argv[])
{
  printf("willbeexecuted starting...\n");
  if (argc < 2)
  {
    printf("argv[0]=%s\n",argv[0]);
    printf("i will run this program now: '%s'\n",argv[0]);
    execlp(argv[0],argv[0],"/",NULL);
  }
  printf("argv[1]=%s\n",argv[1]);
  global = argv[1][0] - '0';
  printf("i am being executed now\n");
  printf("&global=%p, global=%zu\n",&global,global);
  printf("and now i'm finished and i will die\n");
  return 0;
}