ntcpclient project is a GPL replacement for tcpclient from ucspi-tcp. I was prompted to write this by Dave Crouse of USALUG for his bbots project. It might be useful to someone else, so here it is. It includes a sample echo client.
It is almost definately more primitive than the ucspi-tcp one. Although I haven't used it, or seen the source. In fact, I wrote this under the impression that the program I was replacing was closed source. but it was a nice excuse to write some code.
It works by opening the socket using options passed on the command line (performing hostname lookups and such), creating two pipes then forking. The parent process sits in a loop selecting on the socket/pipe and relaying any data between them. The child just execve's with the relevant command line and the socket can be read/written to by simply writing to a numbered file descriptor. Seems always to be 5 and 6, but I think that could change between systems.