1. Сделать файловую систему (или такая уже есть), у которой с одного конца торчит tun/tap (незнаю как точно оно называется) - девайс, а с другого конца - файлы out.bin, in.bin. Что послал в сетевой интерфейс, то прочиталось из файла out.bin, что записал в файл in.bin, то прочиталось из интерфейса.
2. Запускаем скайп на 2 разных машинах, на одном начинаем принимать out.bin с другой машины, складывая его на нашу волшебную файловую систему под именем in.bin, а сами передаём свой out.bin, а там его кладут в такую же ФС под именем in.bin. Наверняка скайп просто запустит 1 поток на чтение и передачу файла и его не будет сильно смущать блокирование в вызове read() на какое-то время (мало-ли, может HDD тупит). Соответственно, настраиваем маршрут через данный tun/tap кидаем файл другу.
Надо только понять, умеет скайп одновременно передавать и принимать файл между 2 абонентами.