Invoking a script, which has an awk shebang, with parameters (vars)
Try using:
#!/usr/bin/awk -f
as an interpreter
env is the easiest way to handle this problem:
#!/usr/bin/env -S awk -f
to add more options, and to ensure no interference with your arguments, and awk's arguments:
#!/usr/bin/env -S awk -F: -f ${_} --
BEGIN {
# delete argv[1], which == ENVIRON[_]
delete ARGV[1]
} # rest of my awk program
as env has a POSIX standard, this shbang should get you around the difficulties of non-standard shbang implementations across unixen.
EDIT
after having written this I realized that '-S' is a non-POSIX compliant FreeBSD env extension. So shell wrapper is probably the way to go, unfortunate as that is.