Determinar se o caminho relativo ou absoluto no programa shell

Como afirmado no título, eu preciso determinar quando um programa é executado se o caminho é relativo ou absoluto:

./program #relative
dir/dir2/program #relative
~User/dir/dir2/program #absolute
/home/User/dir/dir2/program #absolute

Estes são meus casos de teste. Como exatamente eu poderia fazer isso em um programa shell?

Ou mais geralmente, como verificar se um caminho,$0 neste caso, é relativo ou absoluto?

questionAnswers(4)

yourAnswerToTheQuestion