Infelizmente, a maioria dos programas do se preocupam com o kernel, tanto diretamente quanto não.
Diferentes sistemas operacionais têm diferenças significativas até mesmo nos recursos mais comuns (epoll vs inotify vs kqueue, clone vs vfork vs rfork ...).
Mesmo se o programa adotar recursos mínimos que pareçam iguais ao userspace (por exemplo, stdio, acesso básico a arquivos), ele (ou melhor, a libc) ainda precisa saber como chamar essas funções no kernel, que é < em> completamente diferente entre o Linux (plain old syscalls) e o OS X (uma mistura de syscalls e Mach IPC).
E supondo que você possa fazer o kernel começar a executar o programa - o kernel do OS X não entende o formato ELF, apenas o Mach-O (mais todos os tipos de coisas do Mac OS legados).
Existem vários emuladores - por exemplo, o FreeBSD tem emulação de Linux, e o Wine roda programas do Windows em Unixes, e parece haver um emulador do OS X para Linux - mas não consegui encontrar nenhum que rodasse programas do Linux no OS X.
Aqui está uma descrição de como as funções básicas do Linux são emuladas no FreeBSD .