Eszembe jutott, hogy a while loop gyakorlatilag egy subshell, azért nem látja a változókat.
Áthidaltam a dolgot azzal, hogy a while loop-ban minden egyes iterációnál egy temp file-ba íratom sorrendben a script paramétereinek értékeit, aztán sed-del beolvastatom a loop-on kívül, így működik a dolog. :)
Nem csoda, hogy a tcpdump behülyült..nem is kapott semmilyen értékeket paramétereknek.
Tanulság: éjjel 2-kor már ne írjunk scriptet, ha nem munkahelyen vagyunk. :D
Ugyanakkor, ha valaki megírná, hogyan érhetném el a változókat a while loop-on kívül is, azt megköszönném. Export/declare nem oldja meg a dolgot..