because sometimes such APIs return nil slices, sometimes empty slices.
We want nothing to happen in both cases.
* use filepath to get correct result of file path operation on every OS.
* use filepath.Walk to get a better idea what is being done here
* simpler way to get the basename of a program; also works on Windows
in order to get correct results on windows, too.
so elide that condition. Even the small speed win is marginal,
since we just called exec before, which is way more expensive.
as Go will just handle it like an empty slice.