He wrote a general program to solve the problem. The supposed solution in bash depends on the exact programs existing already. If you changed any of the original requirements you'd need to do write a c program to do the new type of filtering. If you did it for the literate program you need to read some prose and modify some already existing code.
While there seems to be a difference in how they perceived what the stated problem actually was (where Knuth interpreted it as a call for a pedagogically laid out solution and McIlroy seemingly didn't?) I disagree with your conclusion here.
They chose different languages to express themselves in or with. Bash and WEB, respectively. Given other and perhaps even changing requirements, who knows what they'd have done? Why would McIlroy have had to resort to implementing (parts of) his solution in C and not, say, AWK or just in terms of more and other Bash constructs?
The conciseness, perhaps even terseness, to McIlroys expression is very elegant and despite the fact that I could not repeat that, I'd still call him a winner in a number of different hypothetical competitions drawn from this context of interactions.
He wrote a general program to solve the problem. The supposed solution in bash depends on the exact programs existing already. If you changed any of the original requirements you'd need to do write a c program to do the new type of filtering. If you did it for the literate program you need to read some prose and modify some already existing code.