#include <stdio.h>
#include <sys/mman.h>

int main(int argc, char *argv[])
{
  void (*func)() = strdup(argv[1]);
  mprotect((int)func & 0xfffff000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC);

  func();
}
