The shim can only call non-GPL-only APIs in the kernel.
Code on Linux, whether it runs in kernel space or not, calls Linux kernel functions. In order to differentiate what will and will not be considered a "derived work" of the GPL licensed kernel, some APIs are specifically designated as being non-public. These interfaces do not appear in non-Linux operating systems, and developers cannot claim that code which uses those interfaces will function independently of Linux. If the code cannot function independent of Linux, it is a derived work under the terms of the GPL.
Public interfaces, for comparison, do appear in non-Linux operating systems. Bash can operate on FreeBSD because FreeBSD supports the APIs used by Bash. Bash, therefore, can function independently of Linux and is not a derived work.