Description of Problem: /usr/bin/lesspipe.sh includes the following lines: if echo "$1" | grep -q ^/; then #absolute path man -- "$1" | cat -s else man -- "./$1" | cat -s fi That would be not so bad in itself if not that small catch that 'man -- ...' segfaults (see #73212). Actually, regardless of bugs in man, if echo "$1" | grep -q ^/; then #absolute path man "$1" | cat -s else man "./$1" | cat -s fi does what was clearly intended here. This bug was not introduced in (null) but seems to have pretty long history. OTOH this line: *.tar.bz2|*.tbz2) bzip2 -dc "$1" | tar tvvf - ;; from a (null) version of lesspipe.sh could likely benefit from *.tar.bz2|*.tbz2) bzip2 -dc -- "$1" | tar tvvf - ;; or, alternatively, one can do echo "$1" | grep -q ^/ && data="$1" || data="./$1" at the very beginning of lesspipe() function and use "$data" instead of "$1" consistently all over the place. Then '--', and possible troubles caused by it, will be not needed.
The real bug was in man and has been fixed.
Ahem! The report was somewhat more general that one specific bug in 'man' which forced a closer examination of that script. In particular you should decide if you really want '--' with 'bzip2 -dc' because now you have two variants in two separate occurences. Note that the proposed modification arguments would be always valid reagardles if '--' was used, and accepted or not, by a particular utility.