Se você quiser que o comando cd tenha efeito em seu shell atual, você deve executar o script no shell atual, porque as alterações no shell filho não são propagadas de volta ao shell pai.
$ pwd
/afs/user/i/ahmad
$ cat test1
#!/bin/bash
cd /etc
$ . test1 #runs test1 in current shell even if its not executable
$ pwd
/etc
Usando echo e eval:
Usando o eval no shell pai. Nos comandos echo do shell script você quer executar pelo shell pai:
echo "cd $filepath"
No shell pai, você pode chutar o script de shell com eval:
eval 'sh foo.sh'
Exemplo:
$ cat test1.sh
#!/bin/bash
echo "cd /etc"
$ eval 'sh test1.sh'
$ pwd
/etc