Acho que entendo o porquê, mas não tenho uma correção completa.
O comportamento de SHLVL depende do shell. Em dash e ksh (ambos pdksh e ksh93), apenas as instâncias interativas incrementam SHLVL . No bash e zsh, todas as instâncias incrementam SHLVL , mesmo bash -c … .
Se você observou uma mudança no comportamento após este patch , é provável que seu /bin/sh seja traço e seu $SHELL seja bash. Antes, o awesome estava executando /bin/sh -c … , o que não alterou SHLVL . Após o patch, ele agora está executando $SHELL -c … , ou seja, bash -c … , o que incrementa SHLVL .
Você pode trapacear alterando SHLVL dentro do Awesome. Conecte-se ao código de inicialização para diminuir SHLVL por 1. Tenho certeza de que isso é possível sem recompilar o código C, embora eu não conheça o código Lua.