В командах cp и mv нужно проверять, что не пытаешься копировать и переименовывать файл сам в себя.