I think you changed it from a "what language should I learn next" question into a "what project should I undertake next" question:
I am trying to understand better what I can do as a next step instead
of creating a huge bash script program.
In the context of this question, "next step" is "what project should I work on next?" which is still off-topic.
This question needs a bit more work to focus on the conceptual idea of "what is the gap between shell scripting and 'real' programs filled by?" Even then, I am not sure it would be a good question anyway. I can do the same things a shell script does in a compiled language such as Java or C#, even if some tasks are more tedious to program in them (there is a tradeoff involved). The answer is basically "use Java or C# or a language like them." Or, for people who enjoy inflicting pain, use Perl.
No matter how I try to refactor the question in my head, this still ends up being off-topic or a "list of things" type question.