run_tests.sh: place flags before arguments

FreeBSD its getopt parses flags till the first argument.
Therefore place the flags before the arguments so running tests
on FreeBSD also works.
make sure test are run as a unprivaliged user

Since the whole idea to falsely report additional privalages
make sure the user invoking the test doesn't alread have them.
add void for no arguments
remove a backslash from \ls

bash seems to happily accepts backslashes, e.g. \l\s
works fine. Likely because it are unrecognized escape
sequences. Anyway, remove the backslash as it is likely
a typo.
use cc for the host compiler

FreeBSD e.g. no longer installs gcc by default but uses
clang as host compiler. Hence use cc which should always
work.