I2C communication

I've been working on school project and I have some questions about I2C communication.
I want to connect multiple Arduinos (Nano) with I2C. I connected MPU-6050 to first Arduino where I'm receiving information on SDA and SCL pin. Now I wanted to transmit that information to second Arduino on the same SDA and SCL pins.
I've been reading on the internet that library Wire.h doesn't allow sending and receiving at the same time, unless you change library Wire.h. I couldn't find any customized library which would allow me that.
I want to know if it is possible to transmit and receive over the same wires and if it is how would it be done?

Read data from one slave.
Send received data to another slave.

No problems.

Note
I assume that the MPU is a slave.

MPU is presenting slave writer, 1st Arduino is receiving informations from MPU(slave) and processing
them. Then this 1st Arduino should work as Slave writer which would send this processed information to 2nd Arduino-Master reader. This project consist of 5 Arduinos=1 Master and 4 Slaves.

I want to know if it is possible to transmit and receive over the same wires and if it is how would it be done?

Yes. The second Arduino (the one receiving the data from the master Arduino) must be configured as a slave, with a different I2C address than the MPU6050.

Yes I understand you but still don't know how to configure it.
Do you have any solution?

Use Wire.begin() (no address) to configure as master. Use Wire.begin(address) to configure as slave. Address for each must be unique.

FYI, I2C stuff:
http://www.gammon.com.au/i2c

@OP

1. Hardware Setup : NANO-1 (Master), NANO-2 (Slave to NANO-1), MPU6050 (Slave to NANO-1), I2CLCD (Slave to NANO-2).
nanoMPU.png

2. Master NANO acquires temperature signal from MPU6050. Master sends the signal to NANO_2 using I2C Bus. NANO-2 receives the signal and writes it to I2CLCD.

Master NANO Codes:

#include <Wire.h>
#include <MPU6050.h>

MPU6050 mpu;   //device address 0x69 keyed in Librart AD0=LH

union
{
  float tempC;
  byte tempArray[4];
} myTemp;

void setup()
{
  Serial.begin(9600);
  Serial.println("Initialize MPU6050");

  while (!mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G))
  {
    Serial.println("Could not find a valid MPU6050 sensor, check wiring!");
    delay(5000);
  }

/*  
Wire.beginTransmission(0x69); //MPU address; D0-pin at 5V.
  Wire.write(0x37); //pointing INT Pin Register
  Wire.write(0b10000000);
  Wire.write(0b00000001);
  Wire.endTransmission();
*/
}

void loop()
{
  float temp = mpu.readTemperature();

  Serial.print(" Temp = ");
  Serial.print(temp, 2);
  Serial.println(" *C");
  myTemp.tempC = temp;
  //------------------------------
  Wire.beginTransmission(0x28); //NANO-2 address
  Wire.write(myTemp.tempArray, sizeof(myTemp.tempArray));
  Wire.endTransmission();

  delay(2000);
}

Slave/MAster NANO-2 Codes:

#include<Wire.h>
#include<LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);//I2CLCD address, 16-chars 2 line
bool flag1 = LOW;

union
{
  float tempC;
  byte tempArray[4];
} myTemp;


void setup()
{
  Serial.begin(9600);
  Wire.begin(0x28);      //NANO-2 Slave address
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0); //DP) position, Top Line
  Wire.onReceive(receiveEvent);
  lcd.print("Hello!");


}

void loop()
{
  if (flag1 == HIGH)
  {
    lcd.setCursor(0, 1);// DP) and bottom line
    lcd.print(myTemp.tempC, 2);
    lcd.print(" ");
    lcd.write(0xDF);
    lcd.print('C');
  }
  flag1 = LOW;
}

void receiveEvent(int howMany)
{
  flag1 = HIGH;
  for(int i = 0; i<howMany; i++)
  {
    myTemp.tempArray[i] = Wire.read(); 
  }

}

nanoMPU.png