But... "the shell and standard utilities and files that are in known locations and standard capabilities and various other things" are also specified by POSIX.
(Historically, they were the "POSIX.2" standard, and the libc/syscall library functions were in the "POSIX.1" standard, but since 1998 when POSIX became the ratification of Single Unix Specification version 2-and-later, they're all just in "POSIX".)
So... yes?
> Unless you intend for your program to be narrowly and specifically portable to POSIX or an even more minimal standard, it is not a bug for it to rely on portions of the broader, de facto Unix API. It's not even necessarily a bug to rely on APIs that are only there on some Unixes (for example Linux and FreeBSD),
Why would any of those things be considered a "bug"?
> for example, can you implement a compatible and fully capable Bourne shell using only public Unix kernel APIs, or at most public C library APIs?
What other APIs does the author think that Bourne shell writers used?
I feel like I'm missing some broader context for this post.