"How are shell variables related to the environment that a process started by the shell has on start-up?"
I read If processes inherit the parent's environment, why do we need export?
My current possibly wrong understanding is that shell variables aren't in the environment. Variables must be exported to the environment so a child can inherit them from a parent, but I don't see where start-up comes into play.