Из описаного тобой возникает два вопроса
1) Как ты себе представляешь работу с одинм и тем же сокетом хотя бы даже из разных потоков. Тут вопрос скорее не в том как расшарить (допустим мы это уже умеем), а как пользовать? Как читать в два потока? Почему они не должны не подраться между собой? Ну думаю вопрос понятен. Или возможно я тебя не доконца понял и тебе нужно просто
IPC
2) Чем плох fork? ну то есть ты же можешь сначала открыть соединение, а потом fork-нуться?
P.S. И последнее - сколько у тебя соединений и почему проблема попросить админов поднять лимиты?