Para responder à pergunta (como ela não parece ser respondida em nenhum outro lugar)
"How do I expose environment variables passed to /sbin/init to applications started by it?"
requer um pouco de irritante e uma função extremamente útil do sistema de arquivos linux / proc:
# Import our environment variables from systemd
for e in $(tr "# Import our environment variables from systemd
for e in $(tr "%pre%0" "\n" < /proc/1/environ); do
eval "export $e"
done
0" "\n" < /proc/1/environ); do
eval "export $e"
done
Isto lê / proc / 1 / envion, que é o ambiente dado ao PID 1, mas é delimitado por nulos. Ele usa 'tr' para substituir os nulos por novas linhas e, em seguida, itera essas linhas e avalia-as com uma 'exportação' prefixada, para que elas fiquem visíveis aos processos filhos.
As variáveis de ambiente não-expostas são outro "recurso" do systemd, e não o consideram um bug.