Лично я бы использовал для этого функцию-обертку:
savscan() {
local retval
command savscan "$@"; retval=$?
(( retval == 3 )) && retval=1
return "$retval"
}
savscan -f -archive infectedfile.exe
... так как добавление дополнительных правил о том, как изменить статус выхода, так же просто, как добавление дополнительных команд для проверки и изменения * 1004.*, как вы считаете нужным.
Если вы по какой-то причине настаиваете на определении и вызове этой функции в одной строке, это может выглядеть следующим образом:
savscan() { local retval; command savscan "$@"; retval=$?; (( retval == 3 )) && retval=1; return "$retval"; }; savscan -f -archive infectedfile.exe