If you phrase it like that, I can easily agree. Low level languages like that are good for educational purposes, mostly for understanding a computer’s internals and how it works “under the hood”. However, if a beginner wants to start with a useful language, that he can actually use in real life, C would be a very bad choice. I personally usually recommend Java, because it is a verbose language (which helps newbies to understand things), as opposed to the extremely terse C/++ languages, where sometimes even experienced programmers get confused, as the whole code culture is just broken. For example, see variable names in C programs. It’s mostly made of meaningless “x” and “y” names, which is the worst possible way to program. In Java, you are at least forced to some degree to be verbose and explain everything in detail, by coding in such a way.
That said, I would consider a language like Java low level enough for most educational purposes. Sure, students should have a look at C, to get to know how horrible such a popular language can actually be, but if they stay with Java for the most part, they can still learn how a computer works, without wasting their precious time on learning something like C.
What I am saying is also backed up by what is actually happening at universites. There are tons of Computer Science majors that teach Java as their main language.
Therefore, if you want to really understand a computer on a very deep and low level, then C is good for educational purposes, only. However, if you want to learn how a computer works, without becoming a low level expert, then Java is usually more than enough. It’s especially useful, since Java is used everywhere in the world. C is only used for maintenance projects, which are remnants of the past and didn’t yet get rewritten in Rust, due to lack of time, resources or the lack of maintainers facing reality and realising that C should stay with the 90s and not bother the modern world with broken programs.
In that regard, it’s also a bit ironic that you mention Linux being written in C, as if that were a pro argument for learning C.
A big reason, even though by far not the only one, why Linux is so broken and filled with security holes is exactly because of it being written in C. If there were a team of 1000 developers, rewriting the Linux kernel in Rust, as quickly as possible, the original Linux would be thrown in the trash faster than Torvalds could say “goodbye”.
C (and languages closely related, like C++) are the cancer of programs and its tumours are spread all around the world, in millions of prgrams.