There is a mechanism to send file descriptors across Unix local sockets between processes. Network servers have used this a lot in order to send a socket to another process for doing the actual work.
This is sendmsg/recvmsg with SCM_RIGHTS, I believe.