quite working relative paths. TODO: cd doesn't do proper vfs_set_error()