if test $# != 0; then
    exec "$THIS_SH" "$0"
fi

# No params!
for a in "$*"; do echo Should be printed; done
for a in "$@"; do echo Should not be printed; done
# Yes, believe it or not, bash is mesmerized by "$@" and stops
# treating "" as "this word cannot be expanded to nothing,
# but must be at least null string". Now it can be expanded to nothing.
for a in "$@"""; do echo Would not be printed by bash; done
for a in """$@"; do echo Would not be printed by bash; done
for a in """$@"''"$@"''; do echo Would not be printed by bash; done
for a in ""; do echo Should be printed; done

# Bug 207: "$@" expands to nothing, and we erroneously glob "%s\n" twice:
printf 'Empty:%s\n' "$@"
printf "Empty:%s\n" "$@"
printf "Empty:%s\\n" "$@"