задача немного странная.
По поводу сокета, насколько я знаю, сокеты живут в пространстве процесса, поэтому созданный и открытый сокет передать в другой процесс скорее всего маловероятно.
можно, например под Windows можно воспользоваться WSADuplicateSocket