Если написание TCP-прокси не вызывает проблем, то перенаправление трафика делается так:
iptables -t nat -A OUTPUT -p tcp --dst $DEST_IP --dport $DEST_PORT -j DNAT --to $PROXY_IP:$PROXY_PORT
Если же проблема в поиске/написании TCP-прокси — готового решения тут нет и, пожалуй, самым простым будет подмена вызовов read/readv/recv/recvmsg/write/writev/send/sendmsg (какие — рекомендую определить через strace) с помощью самописной библиотеки и LD_PRELOAD.