Is there any way to create a new process which shares your file descriptor table even after an exec? clone(CLONE_FILES)
won't work, as the man page says:
If a process sharing a file descriptor table calls execve(2), its file descriptor table is duplicated (unshared).