Current tests only check which binary is invoked via exec; the wrapper's own argument parsing is not tested. Five branches return without calling exec, and none of them are covered by tests.
src/bitcoin.cpp is absent from the coverage report when running the existing test suite. With these tests, it reaches 47.1% coverage (48 of 102 lines). exec replaces the current process before the coverage counters are flushed to disk, so those execution paths do not appear in the coverage report. Running without a command returns a non-zero exit code, but this behavior is not covered by any test.