По последней ошибке :
Nothing to do with the stream(s) ...
Если система freebsd - Функции разбора аргументов getopt не нравиться первый аргумент, номер канала.
В блоке main необходимо присвоить переменной optind значение 2.
То есть в самое начало блока main добавить "optind = 2;"
Эту переменную можно не описывать, т.к. она внешняя.