OS is macOS Caalina 10.15.5 SSHGUARD version 2.4.1 Either invocation method produces the same result.
If FILES or LOGREADER is specified in the configuration file rather than on the command line the variable $tailcmd is set to "/usr/local/libexec/sshg-logtail ".
The problem seems to be the evaluation of [ -n "$@" ] in the sshguard script. This returns true even though "$@" is empty. Reverting to [ ! -z "$@" ] fixes the problem.
I also tried this test which gives the same result on both macOS and Centos 8:
if [ ! -z "$@" ]; then echo "true"; fi if [ -n "$@" ]; then echo "true"; fi true