A partir da especificação POSIX para PATH
(você terá que rolar um pouco):
(ênfase minha)
PATH
This variable shall represent the sequence of path prefixes that
certain functions and utilities apply in searching for an executable
file known only by a filename. The prefixes shall be separated by a
( ':' ). When a non-zero-length prefix is applied to this
filename, a shall be inserted between the prefix and the
filename if the prefix did not end in . A zero-length prefix is
a legacy feature that indicates the current working directory. It
appears as two adjacent characters ( "::" ), as an initial
preceding the rest of the list, or as a trailing
following the rest of the list. A strictly conforming application
shall use an actual pathname (such as .) to represent the current
working directory in PATH. The list shall be searched from beginning
to end, applying the filename to each prefix, until an executable file
with the specified name and appropriate execution permissions is
found. If the pathname being sought contains a , the search
through the path prefixes shall not be performed. If the pathname
begins with a , the specified path is resolved (see Pathname
Resolution). If PATH is unset or is set to null, the path search is
implementation-defined. Since is a separator in this context,
directory names that might be used in PATH should not include a
character.
Minha suposição é que a especificação POSIX aceita a cadeia vazia para acomodar sistemas que não usaram .
, ou não tinham nenhum nome especial, como um nome para o diretório de trabalho atual.