Based on what I know about trinity, it has a 'master' process that knows about the syscalls. When it forks a child, it already has all necessary parameters, which the child uses. I'm not sure what you mean by 'another arbitrary program'. If you create the equivalent in perl of what the main trinity program does, you should be able to do the same thing. perl supports both fork() and syscall(). However, you will have to build all of the 'base functionality' already present in trinity (syscall profiles by value, random-fd-opener, etc).