-c doesn't create a subshell; it just creates a non-interactive new shell (or rather, a non-interactive execution environment in a separate process that has nothing to do with your current shell). And: in non-interactive shells, the history command is intentionally non-functional: