I can only guess here, I think it has to do how tvheadend is invoked through tini , but I'm far from understanding the inner workings.
Inside the container there is
$ ps auxf
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
tvheade+ 48 0.0 0.0 4320 3736 pts/0 Ss 23:27 0:00 bash
tvheade+ 65 0.0 0.0 6396 3680 pts/0 R+ 23:35 0:00 \_ ps auxf
tvheade+ 1 0.0 0.0 2564 1552 ? Ss 23:01 0:00 /usr/bin/tini -- /init
tvheade+ 7 0.1 0.3 981064 51340 ? Sl 23:01 0:02 tvheadend
and /init contains
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2023 Olliver Schinagl <oliver@schinagl.nl>
#
# A beginning user should be able to docker run image bash (or sh) without
# needing to learn about --entrypoint
# https://github.com/docker-library/official-images#consistency
set -eu
bin='tvheadend'
# run command if it is not starting with a "-" and is an executable in PATH
if [ "${#}" -le 0 ] || \
[ "${1#-}" != "${1}" ] || \
[ -d "${1}" ] || \
! command -v "${1}" > '/dev/null' 2>&1; then
entrypoint='true'
fi
exec ${entrypoint:+${bin:?}} "${@}"
exit 0
and I think the options are not transported into that tini call?