Depends a lot on what you call "system": do you want to program embedded systems? write device drivers? write a database server? compilers?
What if a programmer wants to lean a language and not a domain? Devoid of domain, which systems programming language is easy for beginners? It will be quite an ask of a beginner to either work on embedded systems, write device driver, DB driver or compiler. So for beginners, forcing a domain from the start would be counter productive I think.
A language like Java or C# is perfectly fine for "systems" tasks such as compilers, database engines, etc. You don't need to interact with memory on a low level and you can afford to pay the cost of automated memory management for some guarantee that you don't get use-after-free and similar problems.
For that matter if performance doesn't matter you can do a lot in Python, Javascript, and other languages that people think of as "applications" languages.
For some other "systems" tasks, such as embedded, you are going to have a choice between C/C--, Assembly and maybe Ada or a Pascal variant if you're adventurous. In that case you need absolute control over memory layout. C has the particular advantage of portability. I think it's an atrocious language to program the AVR-8 arduino but your code is portable to a more powerful board and your skills are portable.
Rust has the "borrowing" model that is potentially more efficient than the garbage collection model of languages like Java and gives you some control over the layout. You might like it or you might learn to hate fighting with the borrow checker.
What domain you are in absolutely determines what languages you can use.