Смотря что и как надо )
Вот из man curl:
--interface
Perform an operation using a specified interface. You can enter interface name, IP address or host name. An example could look like:
curl --interface eth0:1 www.netscape.com
If this option is used several times, the last one will be used.
Если хочется написать делающую сие программу самостоятельно, то стоит обратиться к документации реализации сетевых сокетов в близком Вам языке.
Вот так конкретный ip-адрес приколачивается к будущему TCP-соединению в C:
When a socket is created with socket(2), it exists in a name space
(address family) but has no address assigned to it. bind() assigns
the address specified by addr to the socket referred to by the file
descriptor sockfd. addrlen specifies the size, in bytes, of the
address structure pointed to by addr. Traditionally, this operation
is called “assigning a name to a socket”.