如何在查询内部过程中使用过程参数变量

I'm creating a procedure to backup a table in mysql.

My Code is:

DELIMITER $$
CREATE PROCEDURE `backup_table`(current_name VARCHAR(50), backup_name VARCHAR(50))
BEGIN 
    CREATE TABLE `@backup_name` LIKE `@current_name`;
    INSERT INTO `@backup_name` SELECT * FROM `@current_name`;
END $$
DELIMITER;

CALL backup_table('users', 'users_bak');

Procedure created successfully but when I'm trying to call that procedure with my table names as parameter, it throws error:

Query : call backup_table('users', 'users_bak')
Error Code : 1146
Table 'database.@current_name' doesn't exist

I've used procedure without @ sign also but not worked.

So, tell me, how to use arguments variable in query as table name. Please help me guys!!!!

Thanks Guys!

I've resolved my question myself with the help of @wchiquito's help comment for sql prepare statement.

See code below:

DELIMITER //
CREATE PROCEDURE `backup_table`(current_name VARCHAR(50), backup_name VARCHAR(50))
BEGIN 
    SET @ct = CONCAT('CREATE TABLE ', backup_name, ' LIKE ', current_name);
    SET @it = CONCAT('INSERT INTO ', backup_name, ' SELECT * FROM ', current_name);
    PREPARE create_t FROM @ct;
    EXECUTE create_t;
    PREPARE insert_t FROM @it;
    EXECUTE insert_t;
END;


CALL backup_table('users', 'users_bak');

I'm posting answer because, May be this will help some another too!!!