It turns out what I actually need is CPLUS_INCLUDE_PATH; from the manpage:
CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATHEach variable's value is a list of directories separated by a special character, much like
PATH, in which to look for header files. The special character, "PATH_SEPARATOR", is target-dependent and determined at GCC build time. For Microsoft Windows-based targets it is a semicolon, and for almost all other targets it is a colon.
CPATHspecifies a list of directories to be searched as if specified with-I, but after any paths given with-Ioptions on the command line. This environment variable is used regardless of which language is being preprocessed.The remaining environment variables apply only when preprocessing the particular language indicated. Each specifies a list of directories to be searched as if specified with
-isystem, but after any paths given with-isystemoptions on the command line.