```bash
#!/bin/bash

if [ -z "$1" ]; then
    echo "Usage: $0 <path_to_log_file>"
    exit 1
fi

LOG_FILE="$1"

# Check if the log file exists
if [ ! -f "$LOG_FILE" ]; then
    echo "Error: Log file '$LOG_FILE' does not exist."
    exit 1
fi

# Define the number of rotations to keep (e.g., 5)
MAX_ROTATIONS=5

# Shift existing rotations
# Start from the highest number and move down to avoid overwriting
for ((i=MAX_ROTATIONS-1; i>=1; i--)); do
    if [ -f "${LOG_FILE}.${i}" ]; then
        mv "${LOG_FILE}.${i}" "${LOG_FILE}.$((i+1))"
    fi
done

# Remove the oldest rotation if it exceeds the limit
if [ -f "${LOG_FILE}.$((MAX_ROTATIONS+1))" ]; then
    rm "${LOG_FILE}.$((MAX_ROTATIONS+1))"
fi

# Rename the current log file to .1
mv "$LOG_FILE" "${LOG_FILE}.1"

# Create a fresh empty log file
touch "$LOG_FILE"
```